Conversation
|
Swift version: Test failures: |
There was a problem hiding this comment.
Good job! Thanks!
Build success, but test failed.
swift version
Swift version 5.8.1 (swift-5.8.1-RELEASE)
Target: x86_64-unknown-linux-gnuTest failures:
Test Suite 'AsyncCurrentValueSubjectTests' started at 2023-07-29 03:55:45.682
Test Case 'AsyncCurrentValueSubjectTests.test_init_stores_element' started at 2023-07-29 03:55:45.682
Test Case 'AsyncCurrentValueSubjectTests.test_init_stores_element' passed (0.0 seconds)
Test Case 'AsyncCurrentValueSubjectTests.test_sendFinished_ends_the_subject_and_immediately_resumes_futur_consumer' started at 2023-07-29 03:55:45.682
Test Case 'AsyncCurrentValueSubjectTests.test_sendFinished_ends_the_subject_and_immediately_resumes_futur_consumer' passed (0.0 seconds)
Test Case 'AsyncCurrentValueSubjectTests.test_send_pushes_values_in_the_subject' started at 2023-07-29 03:55:45.682
Test Case 'AsyncCurrentValueSubjectTests.test_send_pushes_values_in_the_subject' passed (0.0 seconds)
Test Case 'AsyncCurrentValueSubjectTests.test_subject_finishes_when_task_is_cancelled' started at 2023-07-29 03:55:45.682
Test Case 'AsyncCurrentValueSubjectTests.test_subject_finishes_when_task_is_cancelled' passed (0.0 seconds)
Test Case 'AsyncCurrentValueSubjectTests.test_subject_handles_concurrency' started at 2023-07-29 03:55:45.683
error: Exited with signal code 4|
On my list to fix! |
|
I get a bit further:
However now it fails here: If I don't apply the patches, then it fails unwrapping |
|
@lhoward Great work on linux support, I've tried your latest commits and it's working quite well for me. Are there still any issues you know of? If so, would you appreciate some assistance? |
|
I’m still using the branch, haven’t made any progress with test that fails unfortunately but it’s working fine in my application. |
|
During my latest tests, I discovered that the closures inside Task and TaskGroup were not executed when created, which resulted in downstream operations like zip not receiving any events from upstream. This issue only occurs on Linux. I suspect there might be a bug in Swift's Concurrency framework, and I am still looking for a workaround. |
Import Locking.swift from upstream AsyncAlgorithms to enable non-Darwin builds
…heck The comma-separated 'if case' acted as logical AND, making it impossible for regulatedElement to match both .termination and .element(.failure) simultaneously. Use a switch with OR logic instead so the task is properly cancelled on either termination or failure. Amp-Thread-ID: https://ampcode.com/threads/T-019d1415-dee4-710f-8b2b-1f45fa5c9e69 Co-authored-by: Amp <amp@ampcode.com>
Unify into a single critical region so that checking terminalState and registering the channel happen atomically. Previously a send(.finished) between the two separate lock acquisitions could cause the new channel to miss termination and hang forever. Amp-Thread-ID: https://ampcode.com/threads/T-019d1415-dee4-710f-8b2b-1f45fa5c9e69 Co-authored-by: Amp <amp@ampcode.com>
Unify into a single critical region so that checking terminalState and registering the channel happen atomically, matching the pattern used in AsyncCurrentValueSubject. Amp-Thread-ID: https://ampcode.com/threads/T-019d1415-dee4-710f-8b2b-1f45fa5c9e69 Co-authored-by: Amp <amp@ampcode.com>
Unify into a single critical region so that checking terminalState and registering the channel happen atomically, matching the pattern used in AsyncCurrentValueSubject. Amp-Thread-ID: https://ampcode.com/threads/T-019d1415-dee4-710f-8b2b-1f45fa5c9e69 Co-authored-by: Amp <amp@ampcode.com>
Linux build fixes, pending whilst resolving test failures.